CSS μΊμ€μΌμ΄λ λ μ΄μ΄μ μ±λ₯ μν₯μ νꡬνκ³ , λ μ΄μ΄ μ²λ¦¬ μλλ₯Ό λΆμνλ©° ν¨μ¨μ μΈ μΉμ¬μ΄νΈ λ λλ§μ μν μ΅μ ν μ λ΅μ μ 곡ν©λλ€.
CSS μΊμ€μΌμ΄λ λ μ΄μ΄ μ±λ₯ μν₯: λ μ΄μ΄ μ²λ¦¬ μλ λΆμ
CSS μΊμ€μΌμ΄λ λ μ΄μ΄λ CSS μ½λλ₯Ό ꡬμ±νκ³ κ΄λ¦¬νλ κ°λ ₯ν λ°©λ²μ μ 곡νμ¬ μ μ§λ³΄μμ±μ ν₯μμν€κ³ λͺ μλ μΆ©λμ μ€μ¬μ€λλ€. νμ§λ§ λ€λ₯Έ μλ‘μ΄ κΈ°λ₯κ³Ό λ§μ°¬κ°μ§λ‘ μ±λ₯μ λ―ΈμΉλ μν₯μ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. μ΄ κΈμμλ CSS μΊμ€μΌμ΄λ λ μ΄μ΄μ μ²λ¦¬ μλ λΆμμ λν΄ μμΈν μμλ³΄κ³ , μ΄κ²μ΄ μΉμ¬μ΄νΈ λ λλ§μ μ΄λ€ μν₯μ λ―ΈμΉλμ§μ λν ν΅μ°°λ ₯μ μ 곡νλ©° μ΅μ ν μ λ΅μ μ μν©λλ€.
CSS μΊμ€μΌμ΄λ λ μ΄μ΄ μ΄ν΄νκΈ°
μΊμ€μΌμ΄λ λ μ΄μ΄λ₯Ό μ¬μ©νλ©΄ κ°λ°μλ CSS κ·μΉμ κ°λ³ λ μ΄μ΄λ₯Ό λ§λ€μ΄ μ€νμΌμ΄ μ μ©λλ μμλ₯Ό μ μ΄ν μ μμ΅λλ€. μ΄λ @layer at-ruleμ μ¬μ©νμ¬ μ΄λ£¨μ΄μ§λ©°, λͺ
λͺ
λ λ μ΄μ΄λ₯Ό μ μν©λλ€. λμ€ λ μ΄μ΄μ μλ μ€νμΌμ κ° λ μ΄μ΄ λ΄μ λͺ
μλμ κ΄κ³μμ΄ μ΄μ λ μ΄μ΄μ μ€νμΌμ μ¬μ μν©λλ€.
μλ₯Ό λ€μ΄, λ€μ CSSλ₯Ό κ³ λ €ν΄ λ³΄μΈμ:
@layer base, theme, components, overrides;
@layer base {
body {
font-family: sans-serif;
margin: 0;
}
}
@layer theme {
body {
background-color: #f0f0f0;
color: #333;
}
}
@layer components {
button {
background-color: blue;
color: white;
padding: 10px 20px;
}
}
@layer overrides {
button {
background-color: red !important;
}
}
μ΄ μμ μμ base λ μ΄μ΄λ κΈ°λ³Έ μ€νμΌμ μ μνκ³ , theme λ μ΄μ΄λ ν
λ§λ₯Ό μ μ©νλ©°, components λ μ΄μ΄λ λ²νΌκ³Ό κ°μ μ»΄ν¬λνΈμ μ€νμΌμ μ§μ νκ³ , overrides λ μ΄μ΄λ νΉμ μ¬μ μλ₯Ό μ 곡ν©λλ€. components λ μ΄μ΄μ λ ꡬ체μ μΈ μ νμκ° μλλΌλ overrides λ μ΄μ΄κ° νμ μ°μ ν©λλ€.
μ μ¬μ μΈ μ±λ₯ λΉμ©
μΊμ€μΌμ΄λ λ μ΄μ΄λ μλΉν ꡬ쑰μ μ΄μ μ μ 곡νμ§λ§, μ²λ¦¬ μ€λ²ν€λλΌλ μλ‘μ΄ κ³μΈ΅μ λμ ν©λλ€. λΈλΌμ°μ λ μ΄μ κ° κ·μΉμ΄ μν λ μ΄μ΄λ₯Ό κ²°μ νκ³ μ¬λ°λ₯Έ λ μ΄μ΄ μμλ‘ μ€νμΌμ μ μ©ν΄μΌ ν©λλ€. μ΄λ¬ν μΆκ°μ μΈ λ³΅μ‘μ±μ νΉν ν¬κ³ 볡μ‘ν μΉμ¬μ΄νΈμμ λ λλ§ μ±λ₯μ μν₯μ λ―ΈμΉ μ μμ΅λλ€.
μ±λ₯ λΉμ©μ μ¬λ¬ μμΈμμ λΉλ‘―λ©λλ€:
- λ μ΄μ΄ κ³μ°: λΈλΌμ°μ λ κ° μ€νμΌ κ·μΉμ΄ μ΄λ λ μ΄μ΄μ μνλμ§ κ³μ°ν΄μΌ ν©λλ€.
- μΊμ€μΌμ΄λ ν΄κ²°: μΊμ€μΌμ΄λ ν΄κ²° κ³Όμ μ΄ λ μ΄μ΄ μμλ₯Ό μ‘΄μ€νλλ‘ μμ λ©λλ€. λμ€ λ μ΄μ΄μ μ€νμΌμ΄ νμ μ΄μ λ μ΄μ΄μ μ€νμΌλ³΄λ€ μ°μ ν©λλ€.
- λͺ μλ κ³ λ €μ¬ν: λ μ΄μ΄ μμλ λ μ΄μ΄ *κ°μ* λͺ μλλ³΄λ€ μ°μ νμ§λ§, λͺ μλλ λ μ΄μ΄ *λ΄μμλ* μ¬μ ν μ€μν©λλ€. μ΄λ μΊμ€μΌμ΄λ ν΄κ²° κ³Όμ μ λ λ€λ₯Έ μ°¨μμ μΆκ°ν©λλ€.
λ μ΄μ΄ μ²λ¦¬ μλ λΆμ: λ²€μΉλ§νΉ λ° μΈ‘μ
μΊμ€μΌμ΄λ λ μ΄μ΄μ μ±λ₯ μν₯μ μ ννκ² νκ°νλ €λ©΄ λ²€μΉλ§νΉκ³Ό μΈ‘μ μ μννλ κ²μ΄ νμμ μ λλ€. μ¬λ¬ κΈ°μ μ μ¬μ©ν μ μμ΅λλ€:
- λΈλΌμ°μ κ°λ°μ λꡬ: λΈλΌμ°μ μ κ°λ°μ λꡬ(Chrome DevTools, Firefox Developer Tools, Safari Web Inspector)λ₯Ό μ¬μ©νμ¬ λ λλ§ μ±λ₯μ νλ‘νμΌλ§ν©λλ€. μΊμ€μΌμ΄λ λ μ΄μ΄ μ²λ¦¬ μ€λ²ν€λλ₯Ό λνλΌ μ μλ "Recalculate Style" μκ°μ μ¦κ°λ₯Ό μ°Ύμ보μΈμ. νΉν Elements ν¨λμ "Styles" μ°½ λ΄μ "Layer" μ΄μ λΆμνμ¬ μ΄λ€ μ€νμΌμ΄ μ΄λ€ λ μ΄μ΄μμ μ μ©λκ³ μλμ§ νμΈνμΈμ.
- WebPageTest: WebPageTestλ μΉμ¬μ΄νΈ μ±λ₯μ μΈ‘μ νλ κ°λ ₯ν μ¨λΌμΈ λꡬμ λλ€. λ λλ§ μκ°, CPU μ¬μ©λ₯ , λ©λͺ¨λ¦¬ μλΉ λ± μμΈν μ±λ₯ μ§νλ₯Ό μ 곡ν©λλ€. μΊμ€μΌμ΄λ λ μ΄μ΄κ° μλ νμ΄μ§μ μλ νμ΄μ§μ μ±λ₯μ λΉκ΅νμ¬ μν₯μ μ λννμΈμ.
- Lighthouse: Lighthouseλ μΉ νμ΄μ§ νμ§μ κ°μ νκΈ° μν μλνλ λꡬμ λλ€. CSS κ΄λ ¨ μ±λ₯ λ³λͺ© νμμ ν¬ν¨νμ¬ μ±λ₯ λ³λͺ© νμμ μλ³ν μ μμ΅λλ€. Lighthouseκ° μΊμ€μΌμ΄λ λ μ΄μ΄ μ±λ₯μ νΉλ³ν λΆμνμ§λ μμ§λ§, λ μ΄μ΄λ‘ μΈν΄ μ νλ μ μλ μΌλ°μ μΈ CSS μ±λ₯ λ¬Έμ λ₯Ό κ°μ‘°ν μ μμ΅λλ€.
- μ¬μ©μ μ μ μ±λ₯ λͺ¨λν°λ§: PerformanceObserver APIλ₯Ό μ¬μ©νμ¬ μ¬μ©μ μ μ μ±λ₯ λͺ¨λν°λ§μ ꡬννμ¬ μ€νμΌ μ¬κ³μ° λ° λ λλ§κ³Ό κ΄λ ¨λ νΉμ λ©νΈλ¦μ μΆμ ν©λλ€. μ΄λ₯Ό ν΅ν΄ μΈλΆνλ λΆμκ³Ό μ±λ₯ λ³λͺ© νμ μλ³μ΄ κ°λ₯ν©λλ€.
μμ λ²€μΉλ§ν¬ μ€μ
λ²€μΉλ§νΉ μ€μ μ μ€λͺ νκΈ° μν΄ ν° μ€νμΌμνΈκ° μλ μΉμ¬μ΄νΈλ₯Ό κ°μ ν΄ λ³΄κ² μ΅λλ€. μ€νμΌμνΈμ λ κ°μ§ λ²μ μ λ§λλλ€: μΊμ€μΌμ΄λ λ μ΄μ΄κ° μλ λ²μ κ³Ό μΊμ€μΌμ΄λ λ μ΄μ΄κ° μλ λ²μ . μΊμ€μΌμ΄λ λ μ΄μ΄ λ²μ μ μ€νμΌμ μλ―Έ μλ λ μ΄μ΄(μ: base, theme, components, utilities)λ‘ λ Όλ¦¬μ μΌλ‘ κ·Έλ£Ήνν΄μΌ ν©λλ€.
WebPageTestλ₯Ό μ¬μ©νμ¬ λμΌν 쑰건(λμΌν λΈλΌμ°μ , μμΉ, λ€νΈμν¬ μλ)μμ λ λ²μ μ λͺ¨λ ν μ€νΈν©λλ€. λ€μ λ©νΈλ¦μ λΉκ΅νμΈμ:
- First Contentful Paint (FCP): 첫 λ²μ§Έ μ½ν μΈ μμ(μ: μ΄λ―Έμ§, ν μ€νΈ)κ° νλ©΄μ λνλλ λ° κ±Έλ¦¬λ μκ°.
- Largest Contentful Paint (LCP): κ°μ₯ ν° μ½ν μΈ μμκ° νλ©΄μ λνλλ λ° κ±Έλ¦¬λ μκ°.
- Total Blocking Time (TBT): λ©μΈ μ€λ λκ° μ₯κΈ° μ€ν μμ μ μν΄ μ°¨λ¨λ μ΄ μκ°.
- Cumulative Layout Shift (CLS): νμ΄μ§ λ‘λ μ€μ λ°μνλ μκΈ°μΉ μμ λ μ΄μμ μ΄λμ μμ μ λννλ μκ°μ μμ μ± μ²λ.
- Recalculate Style duration: λΈλΌμ°μ κ° μ€νμΌμ μ¬κ³μ°νλ λ° κ±Έλ¦¬λ μκ°. μ΄λ μΊμ€μΌμ΄λ λ μ΄μ΄μ μ±λ₯ μν₯μ νκ°νλ ν΅μ¬ λ©νΈλ¦μ λλ€.
μ΄λ¬ν λ©νΈλ¦μ λΉκ΅ν¨μΌλ‘μ¨ μΊμ€μΌμ΄λ λ μ΄μ΄κ° λ λλ§ μ±λ₯μ λΆμ μ μΈ μν₯μ λ―ΈμΉλμ§ μ¬λΆλ₯Ό νλ¨ν μ μμ΅λλ€. μΊμ€μΌμ΄λ λ μ΄μ΄ λ²μ μ μ±λ₯μ΄ νμ ν λμλ©΄ λ μ΄μ΄ ꡬ쑰λ₯Ό μ΅μ ννκ±°λ CSSλ₯Ό λ¨μνν΄μΌ ν μ μμ΅λλ€.
μΊμ€μΌμ΄λ λ μ΄μ΄λ₯Ό μν μ΅μ ν μ λ΅
λΆμ κ²°κ³Ό μΊμ€μΌμ΄λ λ μ΄μ΄κ° μ±λ₯μ μν₯μ λ―ΈμΉλ κ²μΌλ‘ λνλλ©΄ λ€μ μ΅μ ν μ λ΅μ κ³ λ €νμΈμ:
- λ μ΄μ΄ μ μ΅μν: μ μνλ λ μ΄μ΄κ° λ§μμλ‘ λΈλΌμ°μ κ° λΆλ΄νλ μ€λ²ν€λκ° μ»€μ§λλ€. CSSλ₯Ό ν¨κ³Όμ μΌλ‘ ꡬμ±νλ μ΅μνμ λ μ΄μ΄ μλ₯Ό λͺ©νλ‘ νμΈμ. λΆνμν λ μ΄μ΄ μμ±μ νΌνμΈμ. 3-5κ°μ λ μ΄μ΄κ° μ’μ μΆλ°μ μ λλ€.
- λ μ΄μ΄ μμ μ΅μ ν: λ μ΄μ΄ μμλ₯Ό μ μ€νκ² κ³ λ €νμΈμ. μμ£Ό μ¬μ μλλ μ€νμΌμ λμ€ λ μ΄μ΄μ λ°°μΉν΄μΌ ν©λλ€. μ΄λ κ² νλ©΄ μ€νμΌμ΄ λ³κ²½λ λ λΈλΌμ°μ κ° μμλ₯Ό λ€μ λ λλ§ν νμκ° μ€μ΄λλλ€. κ°μ₯ μΌλ°μ μ΄κ³ κΈ°λ³Έμ μΈ μ€νμΌμ 맨 μμ μμ΄μΌ ν©λλ€.
- λ μ΄μ΄ λ΄ λͺ μλ μ€μ΄κΈ°: λ μ΄μ΄ μμκ° λ μ΄μ΄ κ°μ λͺ μλλ³΄λ€ μ°μ νμ§λ§, λͺ μλλ λ μ΄μ΄ λ΄μμ μ¬μ ν μ€μν©λλ€. κ° λ μ΄μ΄ λ΄μμ μ§λμΉκ² ꡬ체μ μΈ μ νμλ₯Ό νΌνμΈμ. μ΄λ μΊμ€μΌμ΄λ ν΄κ²° μκ°μ μ¦κ°μν¬ μ μμ΅λλ€. ID μ νμλ³΄λ€ ν΄λμ€ κΈ°λ° μ νμλ₯Ό μ νΈνκ³ κΉκ² μ€μ²©λ μ νμλ₯Ό νΌνμΈμ.
- !important νΌνκΈ°:
!importantμ μΈμ μΊμ€μΌμ΄λλ₯Ό μ°ννλ©° μ±λ₯μ λΆμ μ μΈ μν₯μ μ€ μ μμ΅λλ€. κΌ νμν κ²½μ°μλ§ λλ¬Όκ² μ¬μ©νμΈμ.!importantλ₯Ό κ³Όλνκ² μ¬μ©νλ©΄ μΊμ€μΌμ΄λ λ μ΄μ΄μ μ΄μ μ΄ λ¬΄ν¨νλκ³ CSS μ μ§λ³΄μκ° μ΄λ €μμ§λλ€.!importantμ ν¬κ² μμ‘΄νλ λμ λ μ΄μ΄λ₯Ό μ¬μ©νμ¬ μ¬μ μλ₯Ό κ΄λ¦¬νλ κ²μ κ³ λ €νμΈμ. - ν¨μ¨μ μΈ CSS μ νμ: ν¨μ¨μ μΈ CSS μ νμλ₯Ό μ¬μ©νμΈμ.
*λλ νμ μ νμ(μ:div p)μ κ°μ μ νμλ νΉν ν° λ¬Έμμμ λ릴 μ μμ΅λλ€. ν΄λμ€ κΈ°λ° μ νμ(μ:.my-class) λλ μ§μ μμ μ νμ(μ:div > p)λ₯Ό μ νΈνμΈμ. - CSS μΆμ λ° μμΆ: CSSλ₯Ό μΆμνμ¬ λΆνμν 곡백과 μ£Όμμ μ κ±°νμΈμ. Gzip λλ Brotliλ₯Ό μ¬μ©νμ¬ CSSλ₯Ό μμΆνμ¬ νμΌ ν¬κΈ°λ₯Ό μ€μ΄κ³ λ€μ΄λ‘λ μλλ₯Ό ν₯μμν€μΈμ. μΊμ€μΌμ΄λ λ μ΄μ΄μ μ§μ μ μΈ κ΄λ ¨μ μμ§λ§ μ΄λ¬ν μ΅μ νλ μ λ°μ μΈ μΉμ¬μ΄νΈ μ±λ₯μ ν₯μμν€κ³ μΊμ€μΌμ΄λ λ μ΄μ΄ μ€λ²ν€λμ μν₯μ μ€μΌ μ μμ΅λλ€.
- μ½λ λΆν : CSSλ₯Ό λ μκ³ κ΄λ¦¬νκΈ° μ¬μ΄ λ©μ΄λ¦¬λ‘ λλλλ€. νΉμ νμ΄μ§λ μ»΄ν¬λνΈμ νμν CSSλ§ λ‘λνμΈμ. μ΄λ κ² νλ©΄ λΈλΌμ°μ κ° κ΅¬λ¬Έ λΆμνκ³ μ²λ¦¬ν΄μΌ νλ CSSμ μμ μ€μΌ μ μμ΅λλ€. webpackμ΄λ Parcelκ³Ό κ°μ λꡬλ₯Ό μ¬μ©νμ¬ CSS λͺ¨λμ κ΄λ¦¬νλ κ²μ κ³ λ €νμΈμ.
- λΈλΌμ°μ λ³ μ λμ¬: λΈλΌμ°μ λ³ μ λμ¬(μ:
-webkit-,-moz-)λ₯Ό μ¬μ©ν΄μΌ νλ κ²½μ° λ¨μΌ λ μ΄μ΄ λ΄μ ν¨κ» κ·Έλ£ΉννμΈμ. μ΄λ κ² νλ©΄ λΈλΌμ°μ κ° λ€λ₯Έ μ λμ¬λ‘ λμΌν μ€νμΌμ μ¬λ¬ λ² μ μ©ν νμκ° μ€μ΄λ€μ΄ μ±λ₯μ΄ ν₯μλ μ μμ΅λλ€. - CSS μ¬μ©μ μ μ μμ±(λ³μ) μ¬μ©: CSS μ¬μ©μ μ μ μμ±μ μ¬μ©νλ©΄ CSSμμ μ¬μ¬μ© κ°λ₯ν κ°μ μ μν μ μμ΅λλ€. μ΄λ κ² νλ©΄ μ½λ μ€λ³΅μ μ€μ΄κ³ CSSλ₯Ό λ μ½κ² μ μ§ κ΄λ¦¬ν μ μμ΅λλ€. μ¬μ©μ μ μ μμ±μ λΈλΌμ°μ κ° μμ£Ό μ¬μ©νλ κ°μ μΊμν μ μκ² νμ¬ μ±λ₯μ ν₯μμν¬ μλ μμ΅λλ€.
- μ κΈ°μ μΌλ‘ CSS κ°μ¬: CSSLint λλ stylelintμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ μ μ¬μ μΈ CSS λ¬Έμ λ₯Ό μλ³νκ³ CSSκ° μ ꡬμ±λκ³ μ μ§ κ΄λ¦¬ κ°λ₯νμ§ νμΈνμΈμ. μ κΈ°μ μΌλ‘ CSSλ₯Ό κ°μ¬νμ¬ μ¬μ©λμ§ μκ±°λ μ€λ³΅λ μ€νμΌμ μλ³νκ³ μ κ±°νμΈμ.
- CSS-in-JS μ루μ κ³ λ €: 볡μ‘ν μ ν리μΌμ΄μ μ κ²½μ° Styled Componentsλ Emotionκ³Ό κ°μ CSS-in-JS μ루μ μ μ¬μ©νλ κ²μ κ³ λ €νμΈμ. μ΄λ¬ν μ루μ μ μ¬μ©νλ©΄ JavaScriptλ‘ CSSλ₯Ό μμ±ν μ μμΌλ―λ‘ νΉμ μ»΄ν¬λνΈμ νμν CSSλ§ λ‘λνμ¬ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€. κ·Έλ¬λ CSS-in-JS μ루μ μλ μ체μ μΈ μ±λ₯ κ³ λ € μ¬νμ΄ μμΌλ―λ‘ μ μ€νκ² λ²€μΉλ§νΉν΄μΌ ν©λλ€.
μ€μ μ: μ μμκ±°λ μΉμ¬μ΄νΈ
ν° μ ν μΉ΄νλ‘κ·Έκ° μλ μ μμκ±°λ μΉμ¬μ΄νΈλ₯Ό μκ°ν΄ 보μΈμ. μ΄ μΉμ¬μ΄νΈλ μΊμ€μΌμ΄λ λ μ΄μ΄λ₯Ό μ¬μ©νμ¬ CSSλ₯Ό κ΄λ¦¬ν©λλ€. λ μ΄μ΄λ λ€μκ³Ό κ°μ΄ ꡬμ±λ©λλ€:
base: κΈκΌ΄ λͺ¨μ, μμ, μ¬λ°±κ³Ό κ°μ μΉμ¬μ΄νΈμ κΈ°λ³Έ μ€νμΌμ μ μν©λλ€.theme: μ΄λμ΄ ν λ§λ λ°μ ν λ§μ κ°μ νΉμ ν λ§λ₯Ό μΉμ¬μ΄νΈμ μ μ©ν©λλ€.components: λ²νΌ, μμ, νμ λ©λ΄μ κ°μ κ³΅ν΅ UI μ»΄ν¬λνΈμ μ€νμΌμ μ§μ ν©λλ€.products: μ ν μ΄λ―Έμ§, μ λͺ©, μ€λͺ κ³Ό κ°μ μ νλ³ μμμ μ€νμΌμ μ§μ ν©λλ€.utilities: κ°κ²©, νμ΄ν¬κ·ΈλνΌ, μ λ ¬κ³Ό κ°μ μΌλ°μ μΈ μ€νμΌλ§ μμ μ μν μ νΈλ¦¬ν° ν΄λμ€λ₯Ό μ 곡ν©λλ€.
λ μ΄μ΄λ₯Ό μ μ€νκ² κ΅¬μ±νκ³ κ° λ μ΄μ΄ λ΄μ CSSλ₯Ό μ΅μ νν¨μΌλ‘μ¨ μ μμκ±°λ μΉμ¬μ΄νΈλ μΊμ€μΌμ΄λ λ μ΄μ΄κ° μ±λ₯μ λΆμ μ μΈ μν₯μ λ―ΈμΉμ§ μλλ‘ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ νλ³ μ€νμΌμ products λ μ΄μ΄μ λ°°μΉλλ©°, μ¬μ©μκ° μ ν νμ΄μ§λ₯Ό λ°©λ¬Έν λλ§ λ‘λλ©λλ€. μ΄λ κ² νλ©΄ λΈλΌμ°μ κ° λ€λ₯Έ νμ΄μ§μμ ꡬ문 λΆμνκ³ μ²λ¦¬ν΄μΌ νλ CSSμ μμ΄ μ€μ΄λλλ€.
κ΅μ ν κ³ λ €μ¬ν
μ μΈκ³ κ³ κ°μ λμμΌλ‘ μΉμ¬μ΄νΈλ₯Ό κ°λ°ν λλ κ΅μ ν(i18n) λ° νμ§ν(l10n) λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νλ κ²μ΄ μ€μν©λλ€. μΊμ€μΌμ΄λ λ μ΄μ΄λ₯Ό μ¬μ©νμ¬ μΈμ΄λ³ μ€νμΌμ κ΄λ¦¬ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, κ° μΈμ΄μ λν΄ λ³λμ λ μ΄μ΄λ₯Ό λ§λ€μ΄ ν΄λΉ μΈμ΄μ νΉμ ν μ€νμΌμ ν¬ν¨μν¬ μ μμ΅λλ€. μ΄λ κ² νλ©΄ ν΅μ¬ CSSλ₯Ό μμ νμ§ μκ³ λ μΉμ¬μ΄νΈλ₯Ό λ€λ₯Έ μΈμ΄μ μ½κ² μ μ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ΄ λ μ΄μ΄λ₯Ό μ μν μ μμ΅λλ€:
@layer base, theme, components, i18n_en, i18n_es, i18n_fr;
κ·Έλ° λ€μ κ° i18n_* λ μ΄μ΄ λ΄μ μΈμ΄λ³ μ€νμΌμ μΆκ°ν©λλ€. μ΄λ λ μ΄μμ μ‘°μ μ΄ νμν μλμ΄λ νλΈλ¦¬μ΄μ κ°μ μ€λ₯Έμͺ½μμ μΌμͺ½μΌλ‘(RTL) μ°λ μΈμ΄μ νΉν μ μ©ν©λλ€.
λν, λ€λ₯Έ μ΄μ 체μ λ° λΈλΌμ°μ μμ κΈκΌ΄ λ λλ§μ΄ λ€λ₯Ό μ μλ€λ μ μ μ μνμΈμ. κΈκΌ΄ μ€νμ΄ κ²¬κ³ νκ³ λ€μν λ¬Έμ λ° μΈμ΄λ₯Ό μ§μνλ λ체 κΈκΌ΄μ ν¬ν¨νλλ‘ νμΈμ.
κ²°λ‘
CSS μΊμ€μΌμ΄λ λ μ΄μ΄λ CSS μ½λλ₯Ό ꡬμ±νκ³ κ΄λ¦¬νλ κ°λ ₯ν λ°©λ²μ μ 곡νμ§λ§ μ μ¬μ μΈ μ±λ₯ μν₯μ μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. μ² μ ν λ²€μΉλ§νΉκ³Ό μΈ‘μ μ μννκ³ μ΄ κΈμμ μ€λͺ
ν μ΅μ ν μ λ΅μ ꡬνν¨μΌλ‘μ¨, μΊμ€μΌμ΄λ λ μ΄μ΄κ° μ±λ₯μ ν¬μνμ§ μμΌλ©΄μ μΉμ¬μ΄νΈμ μ μ§λ³΄μμ±κ³Ό νμ₯μ±μ ν₯μμν€λλ‘ ν μ μμ΅λλ€. μ΅μνμ λ μ΄μ΄ μ, λ μ΄μ΄ μμ μ΅μ ν, λͺ
μλ μ€μ΄κΈ°, !importantμ κ³Όλν μ¬μ© νΌνκΈ°λ₯Ό μ°μ μμλ‘ λλ κ²μ κΈ°μ΅νμΈμ. μ κΈ°μ μΌλ‘ CSSλ₯Ό κ°μ¬νκ³ WebPageTest λ° Lighthouseμ κ°μ λꡬλ₯Ό μ¬μ©νμ¬ μ±λ₯ λ³λͺ© νμμ μλ³νκ³ ν΄κ²°νλ κ²μ κ³ λ €νμΈμ. CSS μ±λ₯μ λν μ¬μ μλ°©μ μ κ·Ό λ°©μμ ν΅ν΄ μ μΈκ³ κ³ κ°μκ² λΉ λ₯΄κ³ ν¨μ¨μ μΈ μ¬μ©μ κ²½νμ μ 곡ν μ μμ΅λλ€.
κΆκ·Ήμ μΌλ‘ ν΅μ¬μ μ½λ ꡬμ±κ³Ό μ±λ₯ μ¬μ΄μ κ· νμ λ§μΆλ κ²μ λλ€. μΊμ€μΌμ΄λ λ μ΄μ΄λ κ·μ€ν λꡬμ΄μ§λ§, μ μ€νκ² κ·Έλ¦¬κ³ μ΅μ νμ μ€μ μ λκ³ μ¬μ©ν΄μΌ ν©λλ€.